package com.czh.subject.domain.entity;

import com.czh.subject.common.entity.PageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author czh01
 * @version 1.0
 * @description: TODO
 * @date 2024/7/31 上午 12:21
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SubjectInfoBO extends PageInfo {
    /**
     * 主键
     */
    private Long id;
    /**
     * 题目名称
     */
    private String subjectName;
    /**
     * 题目难度
     */
    private Integer subjectDifficult;
    /**
     * 出题人名
     */
    private String settleName;
    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    private Integer subjectType;
    /**
     * 题目分数
     */
    private Integer subjectScore;
    /**
     * 题目解析
     */
    private String subjectParse;

    private String subjectAnswer;

    List<Long> categoryIds;

    List<Long> labelIds;

    List<SubjectOptionBO> optionList;

    private Long categoryId;

    private Long labelId;

    private List<String> labelName;

    private Long docId;

    private String keyWord;

    private BigDecimal score;

    private String createUser;

    private String createUserAvatar;
    /**
     *创建题目数量
     */
    private Integer subjectCount;
    /**
     * 是否被当前用户点赞
     */
    private Boolean liked;
    /**
     * 被多少人点赞
     */
    private Integer likedCount;
    /**
     * 上一题id
     */
    private Long lastSubjectId;
    /**
     * 下一题id
     */
    private Long nextSubjectId;

    public SubjectInfoBO setCreateUser(String createUser) {
        this.createUser = createUser;
        return this;
    }

    public SubjectInfoBO setCreateUserAvatar(String createUserAvatar) {
        this.createUserAvatar = createUserAvatar;
        return this;
    }

    public SubjectInfoBO setSubjectCount(Integer subjectCount) {
        this.subjectCount = subjectCount;
        return this;
    }
}
